Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

packaging: update #971

Merged
merged 2 commits into from
Jun 23, 2023
Merged

Conversation

rgetz
Copy link
Contributor

@rgetz rgetz commented May 13, 2023

when things moved from travis-ci to azure, some packaging options were lost. Specifically DEB_DETECT_DEPENDENCIES for debian based systems. This ensures that the version numbers from the host systems are put in the deb files so that things are actually compaitible with the downstream systems.

Turn that back on, and fix the issues that weren't seen over the last 3 years while this was turned off.

@rgetz
Copy link
Contributor Author

rgetz commented May 13, 2023

First - don't we want to turn on hwmon and serial in all? the ones built from CI/azure/ci-ubuntu.sh have -DWITH_HWMON=ON -DWITH_SERIAL_BACKEND=ON, but that is missing from azure-pipelines.yml

from CI:

LinuxBuilds ubuntu_22_04

-- querying installed packages on system for dependancies
-- Package dependencies (.deb): libc6 (>= 2.35), libaio1 (>= 0.3.112), libavahi-client3 (>= 0.8), libavahi-common3 (>= 0.8), libusb-1.0-0 (>= 2:1.0.25), libxml2 (>= 2.9.13)
-- Features enabled : xml network dns-sd avahi ipv6 local local-mmap usb utils iiod udev-rule iiod-serial iiod-aio iiod-usb doc man man-utils python-bindings
-- Features disabled: zstd bonjour serial hwmon examples iiod-systemd iiod-sysvinit iiod-upstart c#-bindings

LinuxBuilds ubuntu_20_04

-- querying installed packages on system for dependancies
-- Package dependencies (.deb): libc6 (>= 2.31), libaio1 (>= 0.3.112), libavahi-client3 (>= 0.7), libavahi-common3 (>= 0.7), libusb-1.0-0 (>= 2:1.0.23), libxml2 (>= 2.9.10)
-- Features enabled : xml network dns-sd avahi ipv6 local local-mmap usb utils iiod udev-rule iiod-serial iiod-aio iiod-usb doc man man-utils python-bindings
-- Features disabled: zstd bonjour serial hwmon examples iiod-systemd iiod-sysvinit iiod-upstart c#-bindings

don't we want to turn on hwmon and serial?

LinuxBuilds fedora34

-- Using default dependencies for packaging, try turning on -DDEB_DETECT_DEPENDENCIES=ON
-- Package dependencies (.deb): libc6 (>= 2.19), libaio1 (>= 0.3.109), libavahi-client3 (>= 0.6.31), libavahi-common3 (>= 0.6.31), libusb-1.0-0 (>= 2:1.0.17), libxml2 (>= 2.9.1)
-- Package dependencies (.rpm): libaio >= 0.3.107, avahi >= 0.6.25, libusb1 >= 1.0.9, libxml2 >= 2.7.6
-- Features enabled : xml network dns-sd avahi ipv6 local local-mmap usb utils iiod udev-rule iiod-serial iiod-aio iiod-usb doc man man-utils python-bindings
-- Features disabled: zstd bonjour serial hwmon examples iiod-systemd iiod-sysvinit iiod-upstart c#-bindings

ARMBuilds ubuntu-ppc64le

-- querying installed packages on system for dependancies
-- Package dependencies (.deb): libc6 (>= 2.31), libaio1 (>= 0.3.112), libavahi-client3 (>= 0.7), libavahi-common3 (>= 0.7), libusb-1.0-0 (>= 2:1.0.23), libxml2 (>= 2.9.10), libserialport0 (>= 0.1.1)
-- Features enabled : xml network dns-sd avahi ipv6 serial local local-mmap hwmon usb utils examples iiod udev-rule iiod-serial iiod-aio iiod-usb man-utils python-bindings
-- Features disabled: zstd bonjour iiod-systemd iiod-sysvinit iiod-upstart doc man c#-bindings

ARMBuilds ubuntu-x390x

-- querying installed packages on system for dependancies
-- Package dependencies (.deb): libc6 (>= 2.31), libaio1 (>= 0.3.112), libavahi-client3 (>= 0.7), libavahi-common3 (>= 0.7), libusb-1.0-0 (>= 2:1.0.23), libxml2 (>= 2.9.10), libserialport0 (>= 0.1.1)
-- Features enabled : xml network dns-sd avahi ipv6 serial local local-mmap hwmon usb utils examples iiod udev-rule iiod-serial iiod-aio iiod-usb man-utils python-bindings
-- Features disabled: zstd bonjour iiod-systemd iiod-sysvinit iiod-upstart doc man c#-bindings

ARMBuilds ubuntu-arm64v8

-- querying installed packages on system for dependancies
-- Package dependencies (.deb): libc6 (>= 2.31), libaio1 (>= 0.3.112), libavahi-client3 (>= 0.7), libavahi-common3 (>= 0.7), libusb-1.0-0 (>= 2:1.0.23), libxml2 (>= 2.9.10), libserialport0 (>= 0.1.1)
-- Features enabled : xml network dns-sd avahi ipv6 serial local local-mmap hwmon usb utils examples iiod udev-rule iiod-serial iiod-aio iiod-usb man-utils python-bindings
-- Features disabled: zstd bonjour iiod-systemd iiod-sysvinit iiod-upstart doc man c#-bindings

ARMBuilds ubuntu-arm32v7

-- querying installed packages on system for dependancies
-- Package dependencies (.deb): libc6 (>= 2.31), libaio1 (>= 0.3.112), libavahi-client3 (>= 0.7), libavahi-common3 (>= 0.7), libusb-1.0-0 (>= 2:1.0.23), libxml2 (>= 2.9.10), libserialport0 (>= 0.1.1)
-- Features enabled : xml network dns-sd avahi ipv6 serial local local-mmap hwmon usb utils examples iiod udev-rule iiod-serial iiod-aio iiod-usb man-utils python-bindings
-- Features disabled: zstd bonjour iiod-systemd iiod-sysvinit iiod-upstart doc man c#-bindings

So, I need to get the rpm and zypper autodetecting as well (after #969 is merged)

@rgetz rgetz mentioned this pull request May 15, 2023
@pcercuei
Copy link
Contributor

I believe it makes sense to enable hwmon and serial, yes.

@rgetz
Copy link
Contributor Author

rgetz commented May 17, 2023

Will do.

@rgetz rgetz force-pushed the rgetz-update-packaging branch 2 times, most recently from 86a7cce to 60afcc2 Compare May 21, 2023 02:45
CI/azure/ci-ubuntu.sh Outdated Show resolved Hide resolved
@rgetz rgetz force-pushed the rgetz-update-packaging branch 16 times, most recently from fe961ec to 5bcda40 Compare May 31, 2023 13:02
@rgetz rgetz force-pushed the rgetz-update-packaging branch 6 times, most recently from 945f3a6 to 595f207 Compare June 5, 2023 01:01
@rgetz
Copy link
Contributor Author

rgetz commented Jun 5, 2023

Just so I can keep track of things:

ubuntu_18_04    | libc6 (>= 2.27), libaio1 (>= 0.3.110), libavahi-client3 (>= 0.7), libavahi-common3 (>= 0.7), libusb-1.0-0 (>= 2:1.0.21), libxml2 (>= 2.9.4), libserialport0 (>= 0.1.1)
ubuntu_20_04    | libc6 (>= 2.31), libaio1 (>= 0.3.112), libavahi-client3 (>= 0.7), libavahi-common3 (>= 0.7), libusb-1.0-0 (>= 2:1.0.23), libxml2 (>= 2.9.10), libserialport0 (>= 0.1.1)
debian_bullseye | libc6 (>= 2.31), libaio1 (>= 0.3.112), libavahi-client3 (>= 0.8), libavahi-common3 (>= 0.8), libusb-1.0-0 (>= 2:1.0.24), libxml2 (>= 2.9.10), libserialport0 (>= 0.1.1)
ubuntu-ppc64le  | libc6 (>= 2.31), libaio1 (>= 0.3.112), libavahi-client3 (>= 0.7), libavahi-common3 (>= 0.7), libusb-1.0-0 (>= 2:1.0.23), libxml2 (>= 2.9.10), libserialport0 (>= 0.1.1)
ubuntu-x390x    | libc6 (>= 2.31), libaio1 (>= 0.3.112), libavahi-client3 (>= 0.7), libavahi-common3 (>= 0.7), libusb-1.0-0 (>= 2:1.0.23), libxml2 (>= 2.9.10), libserialport0 (>= 0.1.1)
ubuntu-arm64v8  | libc6 (>= 2.31), libaio1 (>= 0.3.112), libavahi-client3 (>= 0.7), libavahi-common3 (>= 0.7), libusb-1.0-0 (>= 2:1.0.23), libxml2 (>= 2.9.10), libserialport0 (>= 0.1.1)
ubuntu-arm32v7  | libc6 (>= 2.31), libaio1 (>= 0.3.112), libavahi-client3 (>= 0.7), libavahi-common3 (>= 0.7), libusb-1.0-0 (>= 2:1.0.23), libxml2 (>= 2.9.10), libserialport0 (>= 0.1.1)
ubuntu_22_04    | libc6 (>= 2.35), libaio1 (>= 0.3.112), libavahi-client3 (>= 0.8), libavahi-common3 (>= 0.8), libusb-1.0-0 (>= 2:1.0.25), libxml2 (>= 2.9.13), libserialport0 (>= 0.1.1)

CentOS 7      | glibc >= 2.17, libaio >= 0.3.109, avahi >= 0.6.31, avahi-libs >= 0.6.31, libxml2 >= 2.9.1
fedora28      | glibc >= 2.27, libaio >= 0.3.110, avahi >= 0.7, avahi-libs >= 0.7, libusb >= 0.1.5, libxml2 >= 2.9.8, libserialport >= 0.1.1
opensuse_15_4 | glibc >= 2.31, libaio1 >= 0.3.109, avahi >= 0.8, libusb-1_0-0 >= 1.0.24, libxml2-2 >= 2.9.14, libserialport0 >= 0.1.1
fedora34      | glibc >= 2.33, libaio >= 0.3.111, avahi-libs >= 0.8, avahi >= 0.8, libusb >= 0.1.7, libxml2 >= 2.9.13, libserialport >= 0.1.1

@rgetz rgetz force-pushed the rgetz-update-packaging branch 5 times, most recently from d835430 to 00d1111 Compare June 11, 2023 01:33
Copy link
Contributor

@nunojsa nunojsa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM to the best of my knowledge (not that familiar with deb and rpm packaging...) One question though... I got the impression we wanted to enable hwmon and serial for CI? is that being done?

@rgetz
Copy link
Contributor Author

rgetz commented Jun 15, 2023

That was done separately as #977 since it wasn't really part of this (and is already merged).

@pcercuei
Copy link
Contributor

@rgetz LGTM, is it ready for merge now?

@rgetz
Copy link
Contributor Author

rgetz commented Jun 19, 2023

yes - merge anytime.

@rgetz
Copy link
Contributor Author

rgetz commented Jun 20, 2023

Will fix the spelling errors the check pointed out - it sucks that this check need to be done by hand.

Error: ./cmake/add_requirements2tar.sh.in:28: appart ==> apart
Error: ./cmake/LinuxPackaging.cmake:47: dependancies ==> dependencies
Error: ./cmake/LinuxPackaging.cmake:72: dependancies ==> dependencies
Error: ./cmake/LinuxPackaging.cmake:86: dependancy ==> dependency
Error: ./cmake/LinuxPackaging.cmake:151: seperated ==> separated
Error: ./cmake/LinuxPackaging.cmake:203: dependancy ==> dependency

when things moved from travis-ci to azure, some packaging options were
lost. Specifically DEB_DETECT_DEPENDENCIES for debian based systems.

This ensures that the version numbers from the host systems are put in
the deb files so that things are actually compatible with the
downstream systems. This patch removes the option, and makes it the default
behavior, and makes RPM based systems do the same.

basically - fixing issues that weren't seen over the last 3 years while
this was turned off.

Signed-off-by: Robin Getz <rgetz@mathworks.com>
When using the tar balls - it's problematic sometime, since we don't
include the required libraries that are needed to run, and have no way to
communicate these to a end user (like a deb or rpm does).

This fixes that by adding a "required2tar" target which can be run after
"make package", which fixes this problem, by adding the required libraries
to the tar ball, just like we do for the windows zip file.

Signed-off-by: Robin Getz <rgetz@mathworks.com>
@pcercuei pcercuei merged commit 41d14d4 into analogdevicesinc:master Jun 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants